<HTML><HEAD>
<META NAME="exploration" CONTENT="forward, backward">
<META NAME="legal" CONTENT="See notice at end of class.">
<META NAME="names" CONTENT="iterators, iteration, two_way_chain_iterators, two_way_chain_iteration">
<META NAME="description" CONTENT="Objects that are able to iterate over two-way chains, on which they can perform repeated actions and tests according to a number of predefined control structures such as ``if'', ``until'' and others.">
<META NAME="traversal" CONTENT="sequential">
<META NAME="keywords" CONTENT="Eiffel class">
<META NAME="license" CONTENT="Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)">
<META NAME="copyright" CONTENT="Copyright (c) 1984-2006, Eiffel Software and others">
<META NAME="source" CONTENT="Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com">
<META NAME="library" CONTENT="EiffelBase: Library of reusable components for Eiffel.">
<META NAME="keywords" CONTENT="Eiffel class">
<TITLE>two_way_chain_iterator Chart</TITLE></HEAD>
<BODY BGCOLOR="white">
<P ALIGN="CENTER">Automatic generation produced by ISE Eiffel</P>
<PRE><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD>Chart</TD><TD><A HREF="two_way_chain_iterator_links.html">Relations</A></TD><TD><A HREF="two_way_chain_iterator_flatshort.html">Flat contracts</A></TD></TR></TABLE><B>class</B>
    <A HREF="../base/two_way_chain_iterator_chart.html">TWO_WAY_CHAIN_ITERATOR</A> [G]

<B>General</B>
    cluster: elks
    description: 
        "Objects that are able to iterate over two-way chains,
        on which they can perform repeated actions and tests according
        to a number of predefined control structures such as ``if'',
        ``until'' and others."
    create: <A HREF="../base/linear_iterator_flatshort.html#f_set">set</A>

<B>Ancestors</B>
    <A HREF="../base/linear_iterator_chart.html">LINEAR_ITERATOR</A> [G]
    <A HREF="../base/linear_iterator_chart.html">LINEAR_ITERATOR</A> [G]

<B>Queries</B>
    <A HREF="../base/linear_iterator_flatshort.html#f_exhausted">exhausted</A>: <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_for_all">for_all</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]): <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_for_all">for_all_back</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]): <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_internal_item_tuple">internal_item_tuple</A>: <A HREF="../base/tuple_chart.html">TUPLE</A> [G]<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/iterator_flatshort.html#f_invariant_value">invariant_value</A>: <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_item">item</A>: G<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_item_tuple">item_tuple</A>: <A HREF="../base/tuple_chart.html">TUPLE</A> [G]<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_off">off</A>: <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/two_way_chain_iterator_flatshort.html#f_target">target</A>: <A HREF="../base/chain_chart.html">CHAIN</A> [G]
    <A HREF="../base/linear_iterator_flatshort.html#f_there_exists">there_exists</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]): <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_there_exists">there_exists_back</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]): <A HREF="../base/boolean_chart.html">BOOLEAN</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>

<B>Commands</B>
    <A HREF="../base/two_way_chain_iterator_flatshort.html#f_back">back</A>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_for">continue_for</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; n, k: <A HREF="../base/integer_32_chart.html">INTEGER_32</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_for">continue_for_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; n, k: <A HREF="../base/integer_32_chart.html">INTEGER_32</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_search">continue_search</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]; b: <A HREF="../base/boolean_chart.html">BOOLEAN</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_search">continue_search_back</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]; b: <A HREF="../base/boolean_chart.html">BOOLEAN</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_until">continue_until</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_until">continue_until_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_while">continue_while</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_continue_while">continue_while_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/iterator_flatshort.html#f_do_all">do_all</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]])<FONT COLOR="red"> -- (from ITERATOR)</FONT>
    <A HREF="../base/iterator_flatshort.html#f_do_all">do_all_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]])<FONT COLOR="red"> -- (from ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_for">do_for</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; i, n, k: <A HREF="../base/integer_32_chart.html">INTEGER_32</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_for">do_for_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; i, n, k: <A HREF="../base/integer_32_chart.html">INTEGER_32</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/iterator_flatshort.html#f_do_if">do_if</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from ITERATOR)</FONT>
    <A HREF="../base/iterator_flatshort.html#f_do_if">do_if_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_until">do_until</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_until">do_until_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_while">do_while</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_do_while">do_while_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/two_way_chain_iterator_flatshort.html#f_finish">finish</A>
    <A HREF="../base/linear_iterator_flatshort.html#f_forth">forth</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_search">search</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]; b: <A HREF="../base/boolean_chart.html">BOOLEAN</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_search">search_back</A> (test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>]; b: <A HREF="../base/boolean_chart.html">BOOLEAN</A>)<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_set">set</A> (s: [<B>like</B> <A HREF="../base/two_way_chain_iterator_flatshort.html#f_target">target</A>] <A HREF="../base/chain_chart.html">CHAIN</A> [G])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_start">start</A><FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_until_continue">until_continue</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_until_continue">until_continue_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_until_do">until_do</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_until_do">until_do_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_while_continue">while_continue</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_while_continue">while_continue_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_while_do">while_do</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>
    <A HREF="../base/linear_iterator_flatshort.html#f_while_do">while_do_back</A> (action: <A HREF="../base/procedure_chart.html">PROCEDURE</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G]]; test: <A HREF="../base/function_chart.html">FUNCTION</A> [<A HREF="../base/any_chart.html">ANY</A>, <A HREF="../base/tuple_chart.html">TUPLE</A> [G], <A HREF="../base/boolean_chart.html">BOOLEAN</A>])<FONT COLOR="red"> -- (from LINEAR_ITERATOR)</FONT>

<TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD>Chart</TD><TD><A HREF="two_way_chain_iterator_links.html">Relations</A></TD><TD><A HREF="two_way_chain_iterator_flatshort.html">Flat contracts</A></TD></TR></TABLE></PRE>
<P ALIGN="CENTER"> &#045;&#045; Generated by ISE Eiffel &#045;&#045 </P>
<P ALIGN="CENTER">For more details: <A HREF="http://www.eiffel.com">www.eiffel.com</A></P>
</BODY>
</HTML>
